package 数组;

/**
 * @author 会玩的洋洋
 * https://leetcode-cn.com/problems/remove-element/
 */
public class _27_移除元素 {
    /**
     * 使用双指针 如果当前fast的值不等于val  这就让slow指针的值等于fast slow++
     * 如果相等 则跳过
     * @param nums 目标数组
     * @param val 目标值
     * @return int
     */
    public int removeElement(int[] nums, int val) {
        int n = nums.length;
        int slow = 0;
        int fast = 0;
        while (fast < n) {
            if (nums[fast] != val) {
                nums[slow] = nums[fast];
                ++slow;
            }
            ++fast;
        }
        return slow;
    }
}
